{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img src=\"http://hilpisch.com/tpq_logo.png\" alt=\"The Python Quants\" width=\"35%\" align=\"right\" border=\"0\"><br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Derivatives Analytics with Python"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**_Chapters 9-10_**\n",
    "\n",
    "**Wiley Finance (2015)**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img src=\"http://hilpisch.com/images/derivatives_analytics_front.jpg\" alt=\"Derivatives Analytics with Python\" width=\"30%\" align=\"left\" border=\"0\">"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Yves Hilpisch\n",
    "\n",
    "The Python Quants GmbH\n",
    "\n",
    "<a href='mailto:analytics@pythonquants.com'>analytics@pythonquants.com</a>\n",
    "\n",
    "<a href='http://pythonquants.com'>www.pythonquants.com</a>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Chapter 9: General Market Model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Zero-Coupon Bond Valuation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ZCB Value       0.9608\n"
     ]
    }
   ],
   "source": [
    "%run 09_gmm/CIR_zcb_valuation.py"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### European Option Valuation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "M76 Value       7.7611\n",
      "H93 Value       6.8672\n",
      "BCC97 Value     8.2942\n"
     ]
    }
   ],
   "source": [
    "%run 09_gmm/BCC_option_valuation.py"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Monte Carlo Simulation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### CIR Model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ZCB Value       0.8373\n"
     ]
    }
   ],
   "source": [
    "%run 10_mcs/CIR_zcb_valuation_gen.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "%run 10_mcs/CIR_zcb_simulation.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nHdq2hU6d7JYCmY3WxCjlBFOn2uUwZ8+2uzy7k8AAtGxpi3w7dbL/efmaJ4eS4jVoYHtYJk5M/v2h\nQ20v1fTpiRMYsFMvBgyw07XTQUR8O5TUpo0mMFlBp06wcGHah5RiY22V7pkz9t9/wiT/oYfsv/+4\n3cZDQuzngD590h92ZqBJjPIYHe+P8/nnMHCg7U1Jzy5qbdvChAl2Cfg17s+iSVd7/PGHXS/kjjvS\nfo/kDBlilxONikr8+pgxdsnR+fNTXt33kUdg40bYsiXNj994bCN5c+alUtFKab6Hy5IZStLvEWfx\nWHsULmwXa5k/3/1rRWyXSliY/dCTJ0/i97Nls0Opr72GhF/i1Vfh7beT78zMijSJUcpTRGy13Zdf\n2nqS9CybGa9DB/juOztFef369N/PVfF1OZ7WuLFdi+SHH66+NncuvPWW7Y4vVizla3Pnhv/+Fz7+\nOM2PD9odRIeyHdJ8vcsiI+0sNCdNl1fe1b07/O9/8Msv1ybpKRGx6ydt2mSvS2mtmbvvhtq12f70\nZ1y8aEeaVRx3dot00he6i7VykuhokSefFKldW+TYMc/f/+efRYoVE9mwwfP3TioqSiQgQGTPHu/c\nPyRE5I477HNWrhQpUkTkr79cu/bkSZFChUQOH07ToxuPbSy/7v41Tde6ZfFikXr1vP8c5RxRUSJf\nfy3SsKH9Xn3xxet/v8bGigwaJFKrlsiZM6nePnr7LjmdvbD8Oum4B4N2HnQXa6WSER5upzT/+69H\nZrgkEhFhP4Xt2WNXlg0I8Oz9wU7j/OILu3ZKOoZTXPLHH3bDR2+t3tq0qZ31NGyY/XNNnOj6xoiF\nC0OPHra3y02nL51m07FNNA1MefEwj9FZSVlPjhzw1FOwcqX9HsqXzw4FV69uew+PHUt8/ttv2xlN\nCxe6NE966ppy/Fb0EdqsHOqd+DMonZ2kPCYkJIRmzZr5O4xrnT5tC2VPnYKzZ+06DEWL2mQj6a8B\nARAYaBdoc2WZ+3PnbFFfkSK2ENfdAl53TZtmh1ReeMEuEpF0/DyBNLfH00/bBGbgwLTHmZrFi+0s\no3Hj4D//ce/a0FBbf7B/v52K6qJpW6YxefNk5j001/trtFepYmes1K+f6GXHfo9kUV5vj9hYu+r1\nxIm23qVxY+jVy/4bnjTJVulebwg1TmSkXSpp0qenaNynoh2urljRe3H7kc5OUhnf2bO2Z+O11+x/\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fed0d4e3a10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "plot_paths()\n",
    "plt.savefig('../images/10_mcs/CIR_paths.pdf')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 0.9770729 ,  0.97746475,  0.97785841,  0.978254  ,  0.97865173,\n",
       "        0.97905109,  0.979452  ,  0.97985502,  0.98025983,  0.98066606,\n",
       "        0.98107415,  0.98148527,  0.98190006,  0.98231811,  0.98273917,\n",
       "        0.98316317,  0.98359019,  0.98402086,  0.98445444,  0.98489004,\n",
       "        0.98532878,  0.98577113,  0.98621623,  0.98666383,  0.98711447,\n",
       "        0.987568  ,  0.98802484,  0.98848495,  0.98894833,  0.98941543,\n",
       "        0.98988568,  0.9903589 ,  0.99083507,  0.99131403,  0.99179594,\n",
       "        0.99228176,  0.99277225,  0.99326631,  0.99376337,  0.99426382,\n",
       "        0.99476759,  0.99527517,  0.99578651,  0.99630116,  0.99681867,\n",
       "        0.9973388 ,  0.99786337,  0.99839298,  0.99892582,  0.99946134,  1.        ])"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "zcb_estimator(50)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n2LynMV15lBgiqc1G/s7XDGQkHzesyiuvxANw001/jc6k7pmY2eiML2JnHZwA9cMPP7B9+3batm17\nwWcffvghBQsWvKz6zp49S1DQhasKrFy5ks6dO3Pu3DlefvllevfuTbdu3ZgzZw5jx47lb3/7GwMG\nDODMmTMcP36cxx9/nKeeeuqCejZs2MDDDz/M0aNH2bZtG99//z2PP/44FStWJC4uDoDjx4/Tp08f\nNm/eTEpKCt26dePpp58GYMaMGYwaNYoiRYoQFBTEsGHDaNKkyWV9R2OMCXQZTT/137yPBfHXsXFb\nQxYsgNL5/84L/IfRDOA6fvecdz64Vpq6QiMjc2+66UpcbGjHXs6eovriiy9URPTcuXOZnrdt27YL\npqgmT56cZopq5cqVWqhQIV2+fHmGdcycOVNr1arlKf/44486aNAgVVVdsWKFrlixQlVVz5w5o7Vr\n19bNmzd7zvWeooqPj9eQkBDPZ1OmTNHw8HBPuUePHtq9e3dVVU1OTtZq1arp0qVLVVW1XLlyun//\nflVVnTFjhkZFRWX6vdO73FjaULlzWeycy2J39VKnnw5QRj/gCW3PbC3GUa1Rdrl+9JHqgQOXP/2U\nFTZFZfzGgQMHaNmyJX/88Qd79uxh3rx53H777Rme265dO3r06MHy5ctp0qQJn3zyiWdkpUaNGrz0\n0kv861//omDBgvz++++sXbuWGjVqXFCPppsa8y6npKTw3//+l/nzXY8cXnPNNXTo0IFPP/2UO+64\ng9KlSzNp0iSeffZZOnbsSEREBMYYkxddbApq925Ys7U9LXmJH7iVNiygK//lcx5ibJ1befzxeCBt\ncnBWpp/8lXVwcphcbGvQy5BBmswlpXYg9uzZc0VPKJUtW5a4uDhUlUceeYS33nrronOoBQoUoEuX\nLnzyySfcdtttbN26lZo1XZu5P//88xw7doylS5ciIrRs2ZJTp05lWE9mDhw4wOnTpxkwYACFC7sW\noD5y5AgNGzYEYMGCBbz22mvUrl2bFi1aMHr06CwtBHWlLBfAuSx2zmWxu7T0U1CbqcHTq39m77XN\n2HewFJWCazOct2nDAgrzp+e688HBaerJ7uknX8QukLZq8Etpxviu8HUlGjZsSM2aNT0jHt6efPJJ\n1q5dm6V6RIQxY8awYMECFi9efNHzunXrxpdffsns2bNp3bq15/iqVato3bo14u7pnT179qJ1FCxY\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fed0ae887d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "graphical_comparison(50, 'exact')\n",
    "plt.savefig('../images/10_mcs/CIR_zcb_mcs_exact.pdf')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAGqCAYAAAAGMz4jAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VNXWwOHfCgRCbxcQRYgGpQgIIggCKQgECdYrig1R\n8bMg0QuK0iRSFBAx4L0q2LD3C0oCoUiKShMkgh1CEZASpCT0QNb3x0zmDkmAAEkmZ7Le55nHOfuc\ns2dPljHbvdfZW1QVY4wxxhh/EuDrBhhjjDHGFDbr4BhjjDHG71gHxxhjjDF+xzo4xhhjjPE71sEx\nxhhjjN+xDo4xxhhj/I51cIwxxhjjd6yDY4wxxhi/Yx0cY4zfE5F4EQn1dTuMMcXHOjjGmBJLRJJE\n5J5CqOo2VU0pgnrPmYjcISKDReQTEenj6/YY4y/K+roBxhhzCoWyl4yq7i+sekWkOrAIeA/IAKYA\nLwJbgSjgc1V9r4B1NQJqqeqLIvIPYK2ILFPVDWfbPmOMi43gGGMKlYj8n4hsEJGPROQ1EVnjft9c\nRGaKyFoRedjr+mdE5Gv3a7aI1HOXPw+0Ap4WkUQR6SkiE0VkT87oi4hME5FDOdNPuT57uoisEpH9\nIrJNREadot417nqmu695UkR2icgL+XzFHkCkqr4EzAeOqOooVZ0OPAesPYMf12XAEABV3QWsA9qc\nwf3GmJOwERxjTKFS1enuTsr9uP6AHwY2A1mqepOItAaSRWSaqmYDu1X1GgAR6QdMAPqq6lARaQ+8\nrarvuqufIyJtcY/AqOqDItI9n89+CGgO7AaeB+p6XZOnXhH53t3GGPdlsUB7VX0yn6+4WVXT3e8j\ngGSvcweBTSJyMfDAKX5MS1X1S2AOcK27DQLUw9XJMcacI+vgGGOKggDLVDUTQETWAsvc59YAlYE6\nwHZgi4gk4hpRrgqUK4TPXqyqf7uPnxaRt091g6qmi8gC4G5cHaxeuDof+V37nddhBK7pqpxza9xv\nM4Chp2uoqmYBP7kPo4AVqpp6uvuMMadnU1TGmKLinfdyDMgEUNVj7rJyInIJ8AnwhKqGAY8DFQvh\nszPO4p53cXVwAHoDnxXgnnAg8Sw+6wTuvJ5+wF3nWpcxxsVGcIwxRaGgSbytgQxVXek+LsjozVEg\nyOu4egE/+3Rtmg1Mc095ZavqKTtJInIRUEFVf87nXEGnqHKmpp4G+qvqfhFpqKqbTtNWY8xpWAfH\nGFMUJJ/j/MrWATVE5BJVXYsrgddbJlBBRBoAd6vqOGADrvwaRCQM14iPd925Pye/z89Tr6oeFpHP\ngLeBBwvwHSOApPxOqOp6CjBF5TYQ12hRkIi0AyoA1sEx5hzZFJUxplCJyB3APUCkiDwkIiOBy4Gn\nRKS9iPwX12jKR7g6K88B80VkFlAJOE9EZrirewtXsvJrwFJ32UtAuIgkAVcCfwEvicgVInK712fP\ncLfnSSASuEdE7j1FveCapioHzD3F92smIg8BjwDVRKS/iJzVf0tFpJP7+3zv/h5LsCRjYwqFqBbK\nMhPGGON4ItIUeERVB/q6LcaYc+OoKSoROQ8YC7RU1Xb5nA8CJgFbgEuA8e5hb0TkLlxrXxwH0txr\nViAirwGNvaoZqKo/YYwpNdwrCH+OK9H3Hd+2xhhTGBzVwQE6ArNwDXfn53Fgo6pOEpHmwJtAqIjU\nBwaramsAEVkuIotUdR2wTVUfKo7GG2NKrCuAYbgebV/h68YYY86do3JwVPULTnz0NLeeuOawcY/C\nXC4iVXDNv6/0um4J7sW1gCoiMkxEhojIABEpUwRNN8aUYKo6RFVbquqpnnwyxjiIozo4BVAH91ob\nbhnustonKQf4ANdU1kSgAQV/8sEYY4wxJZTTpqhOZyeulVBzVAV2uMsbeZVXA/4AUNVVXuWLgKdw\n5fl4iIhlYhtjjDElkKrmtzSE80dwRKSGexoKIB7o4C5vAaS6dxGez4kb2LXH/Rhors30LuUkj2iq\naqG/Ro0aVST12qvoXxY7574sds59Weyc+yqq2J2Ko0Zw3DsG34VrnYxhwGRcK4DuxrV/zBRgkogM\nxzVicz+Aqm4RkUki8hKup6heV9U0d7W13LsLH8TVwRlUXN9n48aNxfVRppBZ7JzLYudcFjvn8kXs\nHNXBUdUUICVX8VNe5w8Dj57k3g9w5dvkLr+vMNtojDHGGN9z/BSVk/Xr18/XTTBnyWLnXBY757LY\nOZcvYmcrGReAiKj9nIwxxpiSRURQf00y9iURsZcfvc5EUlJS0fxLZYqcxc65LHbO5YvYOSoHpySy\nkR3/cKYdHGOMMSWbTVEVwMmmqNxDYz5okSlsFktjjHEem6IyxhhjTKliHRxjzoLlAjiXxc65LHbO\n5YvYWQfHT82aNYtWrVoREBDARx99lOd8ZmYm1apVIzg4mGeffdZTvnHjRm6//XZCQ0MJCwujU6dO\nTJgwgV27dnmuiYmJ4aqrrqJLly507NiRRx555ITz5+qrr76iSZMmREREFFqdxhhjShlfL9/shJfr\nx5TXycpLiqSkJK1YsaK2b98+z7mXX35ZK1asqCNHjvSUbdmyRevXr69xcXGesvXr1+uFF16osbGx\nqqo6Y8YM7dSpk2ZlZamqamZmprZo0UJXrlxZqG2fMWOGhoeHF2qdp1LSY2mMMSYv93+78/3bbSM4\nfq5Pnz6sWLGCFStWeMpUlYULF9K2bdsTEmuHDx9OWFgYUVFRnrKLLrqIESNGeJ4yWr58OVdffTVl\ny7oewKtcuTIjR46kRo0ahdpu73YZY4wxZ8o6OEUkJT6eEZGRxISHMyIykpT4+GK9P0eDBg244YYb\nmDJliqds/vz5dOvW7YRHo7Ozs5k1axbdu3fPU8f999/Pgw8+CEBwcDCffvopv/zyi+d87969ueii\ni/LcN3r0aMqVK8cVV1zBH3/8wa+//spll11Gs2bN2LFjB9OnT+eaa66ha9eudO3alV9//TXf7zB5\n8mTq1avnmUobNWoUNWrU4J133vFcs3LlSkJDQwkPD6dr1678/vvvnu/18MMP07lzZ8LCwnjggQc4\nePDgmfwI82W5AM5lsXMui51z2To4fiIlPp55jz3GuLQ0T9lw9/tQr9GRoro/t+joaLp3786LL75I\nnTp1eO+995g2bRqff/65p5OTnp5ORkYGF1xwQZ77y5QpQ5kyZQB48MEHiY+Pp0WLFoSHh9OnTx/u\nuusuKlSokOe+Z555hh9//JG2bdty6aWXAtCjRw8eeeQR6tatC8DcuXMpV64cSUlJPPjgg6Sk5N5q\nDAYNGsSaNWs8bX322WdJSUnxHO/bt48ePXrw2WefER4ezpw5c7jhhhv49ddfSUhIYNOmTXzzzTcA\n3HzzzezatYsGDRqc8c/RGGOMc9gIThGYP3XqCZ0TgHFpaSx4+eViuT+30NBQmjZtyquvvkpaWhr1\n6tWjUqVKZ1VX1apVSUpKIjExkZCQEJ544gmaN2/OX3/9le/1ffv29Yy0HD9+nA0bNhASEgJA06ZN\n6dWrF6GhoQwdOpSVK1ee8rNPNm0VFxdHlSpVCA8PB6Bnz55s376dZcuWUbNmTdasWcPChQvJzs7m\no48+4sILLzyr7+4t57OM81jsnMti51y+iJ11cIpA2SNH8i0vc/hwsdyfn4EDBzJt2jSmTJnCww8/\nnOd87dq1qVatGlu3bi1QfaGhoUyfPp0///yTGjVqMG3atHyv69mzJ7t27WL58uXMmzePyMhIwDXq\n0qtXLx566CFSUlL4+OOPOXTo0Fl9ty1btrB7924iIiI8rzp16rB7927at2/P9OnTmTBhAsHBwUya\nNMnye4wxphSwDk4ROFa+fL7lx4OCiuX+/Nx5551kZWWxadMmLr744jznAwICuOWWW5g3b16ec//+\n97956623AJg6dSq//fab51y1atXo0qULGRkZ+X5uYGAgffr04Z133uHTTz+lT58+APz+++9kZmbS\no0cPAI4ePXrCfbm3TihXrhxHvDp+e/fu9bxv0KAB9evXJzEx0fNauXIl3bp1IyMjg/DwcBYsWEBS\nUhLvvPMO77777il/VgVhuQDOZbFzLoudc9k6OH6ie3Q0w93TMDmGhYTQbeDAYrk/h/dIRfny5Xnr\nrbcYO3bsCee9rxk3bhyLFy8mLi7OU7Zq1SpiY2Pp1q0bAHv27DlhtCYzM5P58+cTGhp60nb07duX\njz76CFWlWrVqADRs2JCyZcuydOlSABISEk7adnA9zfXTTz8BsG7dOtauXeu5Jioqil27dnmeFDtw\n4AARERHs27ePmTNnMn36dAAuvvhi6tevT3Z29il/bsYYY5zP9qIqgLPZiyolPp4FL79MmcOHOR4U\nRLeBA88oQfhc71+4cCFPPvkk+/btY8CAAQwePPiE83379mX27NlUr16dhx9+mCFDhgCwefNmnnji\nCbZu3UpgYCAVK1Zk/PjxtGjRAoDU1FQmTpzIpk2bKFeuHPv376dPnz556s+tWbNmTJgwgeuuu85T\nNm3aNMaPH0/z5s255JJLiI2NpXv37gwYMIAhQ4awY8cO7r77bqZMmcLOnTu58cYbUVVCQ0NZtmwZ\nO3fu5MUXX+Taa6/lhx9+YPDgwZ5O21NPPUXPnj35448/ePLJJzlw4ACZmZlcfvnlvPLKK57H3HPY\nXlTGGOM8p9qLyjo4BWCbbfo/i6UxxjiPX2y2KSLnicgbIrL8JOeDROTfIvK0iLwpIpd4nbtLRCaJ\nyAQR+T+v8mB3nU+LyGsicnaPFplSx3IBnMti51wWO+eyHJxT6wjMAvLtqQGPAxtVdTzwEvAmgIjU\nBwar6hOq+hTQX0Qaue95DXjNfc9PwFNF+QWMMcYYUzwcNUUlIuHAC6raNp9zKcBQVf3OfbwPqA/c\nCnRQ1f7u8inAOlydm0xVDXKXtwbeUNU2+dRtU1R+zmJpjDGFLyU+nvlTp1L2yBGOlS9P9+jos1qw\n9mRONUXlTysZ1wEyvY4z3GW1T1JeC/BeeCXTXW6MMcaYc+S9Kn82QgB6TqvynyknTVGdzk6gqtdx\nVWCHu7yKV3k1d/kuoEKu63cWcRuNn7BcAOey2DmXxc5ZPnr+Cyql3UobVtCfO4FzW5X/TDl6BEdE\nagDHVDUTiAc6AN+KSAsgVVX3i8h8wHsBmfbAFFU9JiKJItJWVb/HleMTl/szcvTr14/g4GAAqlev\nTqtWrYrmSxmfy/mPaM7S4vkdp6amnvK8HZfc49TU1BLVHju2Y6cep8TH83pMDGWysqhfty7dBkaz\nPr0SycmwcmU4G/+YyDWM4S7upyVrXPcDm7dvJ8eZfn5sbCypqamev8en4pgcHBEJBfoCkcCrwGTg\nWWC3qk4QkSBgErANaASMU9V17nvvBK4EjgO/q+rr7vKGwDPAeuBCYJCq5tlq2nJw/J/F0hhjCi5n\n+mlsWhqraM3n3MK0wD6UrV6PO+6swC23wJxnezBuQd7V8UdGRjIm1+KuZ8vWwTlH1sHxfxZLY4z5\nn1MlB2dnw30d/kWt5fX5LzdThuP8ky+4hc/5snstxs5L8NSRk4OTY1hICD2mTCm0HJzSkmRs8pGc\nnMy4cePIysri+PHjBAUFcdddd3H77bfz+++/079/f5YvX067du2YNm0aa9asYezYsWzcuJEOHTpw\n7Ngx0tPT6d27N2PGjCm0dmVlZdGtWzdSUlLYuHEjDRo0KLS6i0NSUpJnyNQ4i8XOuSx2xSO/jsnQ\ndRv5YXUt1m1tz8yZkLU3mod4j1ncSEtWe9ZviT8S5rknpxMz8uWX2bx9Oxeedx49znBV/nOSs7S9\nvU7+cv2Y8jpZeUkxd+5cbdiwoaalpZ1QFhgYqD/++KOqqm7cuFFF5IRrZsyYofXr1/ccb9iwQYOC\ngnTmzJmF3kYR0U2bNhV6vWfqTGOZmJhYNA0xRc5i51wWu+IxvHt3VdAjBOoceuj9vK7/YKeeV/UP\nHTdO9ddf/3dN7teIyMh86yyq2Ln/253v325/eorKeMnOzuaRRx5hxIgRJ+we3qNHD3r37u051nym\nZXKXBQcH07x5c1JSUoquwQ5j/xfpXBY757LYFY6U+HhGREYSEx7OiMhIUuLjPecOHoS1W9tyF+9R\nlx2MYSRN+ZXltOPB1g8wbBg0aXLmm0L7InY2ReWnfvjhBzZu3Ej37t3znHvzzTcpV67cGdWXlZVF\nQEDe/vDy5cu55ZZbOHbsGEOHDmXgwIH07duXOXPmMHnyZK688kqGDBnC0aNH2b9/P/feey8PPPBA\nnnp++eUX7rjjDvbt28eGDRtYsmQJ9957L/Xq1SMxMRGA/fv3Ex0dzdq1a8nOzqZv3748+OCDAHz5\n5ZdMmDCBihUrEhAQwOjRo2nfvv0ZfUdjjPF3+U0/PbF2BwuSzufXDa1ZsABqlv0nT/I6ExnC+Wzz\nXHc8qLHnvff0U86m0MU6/VQQJxvasZezp6g+/vhjFRE9duzYKa/bsGFDnimqt99++4QpquXLl2v5\n8uV16dKl+dbx1VdfaePGjT3HP/74o44YMUJVVZctW6bLli1TVdWjR49q06ZNde3atZ5rvaeokpKS\nNDg42HNuxowZGh4e7jnu37+/9uvXT1VVMzMz9eKLL9Zvv/1WVVXr1KmjO3fuVFXVL7/8UmNiYk75\nvXM701jaULlzWeycy2J37nKmltKppW9wn/YkTquwTxvVXqpvvaWanq6aHBenw0JCTph6GhoSoslx\ncWf9ub6YorIRHJOv9PR0IiIi2LNnD1u3biUhIYGrrroq32t79OhB//79Wbp0Ke3bt+fdd9/1jKw0\natSIp59+mn/961+UK1eObdu2sWrVKho1apSnHs01NeZ9nJ2dzfvvv8+8ea5HDitXrkyvXr147733\n6NixIzVr1mT69OkMGDCA6667jsjIyML6URhjjKOc7AmoLVtg5fqeRPA0P3AF3VjAXbzPR9zO5GZX\ncO+9SYBDRmcKwDo4RUxOtjXoGcgnTea0cjoQW7duPasnlGrXrk1iYiKqyp133smLL7540jnUwMBA\n+vTpw7vvvku7du1Yv349l1zi2sx90KBBZGRk8O233yIiREREcOjQoXzrOZX09HSOHDnCkCFDqFDB\ntQD13r17ad26NQALFizgueeeo2nTpnTu3JmJEycWaCGos2W5AM5lsXMui93p5Z6CWksjHlzxM9v/\ncTU7dtWgflBTxvAS3VhABQ577jseFHRCPaFRUYXaofFF7CzJuIjlm2Z+hq+z0bp1ay655BLPiIe3\n+++/n1WrVhWoHhFh0qRJLFiwgOTk5JNe17dvXz755BPi4uLo2rWrp/z777+na9euiLunl5WVddI6\nypUrx5EjRzzHe/fu9byvXbs25cuX5z//+Q+JiYkkJiby/fffExsbC0CZMmV45ZVX2LBhA3Xq1KFf\nv34F+n7GGONP5k2ZSu+0yowihhasJpQUmuyuTOuqE9m+HV6ensWykF9O6NycKjnYyayD46cCAgKY\nPn06zz//PGleyWRvv/02P//8s2fkI0fu6SFv559/Pn379iUmJuak17Rp04Z69erx+OOPc/vtt3vK\nGzVqxNKlSwHYtm0bq1evPulUVMOGDdm1axfp6elkZ2ef0DkLCAigb9++vPvuu56yMWPG8N577wFw\n3XXXkZ2dTVBQEG3btiU7O/ukbS0MOcuHG+ex2DmXxS7/J6Cys+G772DwYHjlm7e5mf+yn8pM40G2\ncgGvMIBLKi0hMNA1MhM5ZQojIyOJCQtjZGRkoS68dzI+id3JknPs5ewk4xzffPONdunSRUNDQ7VT\np07av39//fvvv1VVdc2aNdq+fXsNCAjQ9u3ba2pqqr733nvapEkTDQoK0oiICN29e7eqqq5bt07L\nli2rnTt31nXr1uX7WRMmTNCbb775hLLffvtNr7zySu3QoYPed9992rJlS23atKnOnz9fw8LCNCAg\nQDt06KB//fWXqqo+/fTTeumll+ott9yiI0eO1OrVq2t0dLSqqu7fv1/79++vV199tYaFhem//vUv\nzc7OVlXVJ554Qjt37qzh4eEaGhqqq1evPqOf05nG0pIdncti51ylPXbeyb9HCNQEumvrqh9ozeqH\ntEUL1VGjVPt3eEizz2B9muLiiyRj26qhAGyrBv9nsTTGlHRDrrmeqxYFMpObmENPmvAbNzGTjZ12\n8Z9v3gaKZ3uEksS2ajDGGGNKuPyefrqsfRSzZ8PMmZCQ/BFhfMdNzDxhjZqYMvlvj+DkJ6AKg3Vw\njDkLtieOc1nsnMufY+c98rKZ+sziRvqm1GRXQBaRPQLp3RsaZfblxcT/5rm3qJ+AKgy+iJ11cIwx\nxhgfUoUPnptFw7RbactNbOAiehHHlMPjWdIVxn/xJQANatzH8D9/zDv95IdPQBUGy8EpAMvB8X8W\nS2NMUco9/dT10WiCakcxcybMmgXbN+3gniOfcANfEkoKgRwDICYsjBivJ5BS4uNZ4DX91K2UTj/l\nsBwcY4wxxkdypp9Gpf1JIhHM4kau+/pKal+QyR13V+HDD+G/Q/sybsH8PPc6YfqppLJ1cIw5C7Ye\n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\nzMzMZpz/D/xY9bL2g92GAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fed07d4cf10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "graphical_comparison(50, 'Euler')\n",
    "plt.savefig('../images/10_mcs/CIR_zcb_mcs_euler.pdf')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.97705077215883385"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "zcb_estimator(200, 'Euler')[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.97701414271761378"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "B([0.01, 0.1, 0.03, 0.2, 0., T])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1 loops, best of 3: 649 ms per loop\n"
     ]
    }
   ],
   "source": [
    "%timeit r = CIR_generate_paths(r0, kappa_r, theta_r, sigma_r, T, M, I, 'exact')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10 loops, best of 3: 153 ms per loop\n"
     ]
    }
   ],
   "source": [
    "%timeit r = CIR_generate_paths(r0, kappa_r, theta_r, sigma_r, T, M, I, 'Euler')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1 loops, best of 3: 585 ms per loop\n"
     ]
    }
   ],
   "source": [
    "M = 4 * M\n",
    "%timeit r = CIR_generate_paths(r0, kappa_r, theta_r, sigma_r, T, M, I, 'Euler')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Chapter 10: Monte Carlo Simulation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### European Options"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# %run 10_mcs/H93_european_mcs.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "h5 = pd.HDFStore('10_mcs/mcs_european.h5', 'r')\n",
    "results = h5['results']\n",
    "h5.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "results['index_disc'] = results['index_disc'].apply(lambda x: x[0]) \n",
    "results['var_disc'] = results['var_disc'].apply(lambda x: x[0]) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 161280 entries, 0 to 161279\n",
      "Data columns (total 22 columns):\n",
      "MCS_est            161280 non-null float64\n",
      "PY1_acc            161280 non-null bool\n",
      "PY2_acc            161280 non-null bool\n",
      "PY_acc             161280 non-null bool\n",
      "SE                 161280 non-null float64\n",
      "anti_paths         161280 non-null bool\n",
      "error              161280 non-null float64\n",
      "index_disc         161280 non-null object\n",
      "maturity           161280 non-null float64\n",
      "moment_matching    161280 non-null bool\n",
      "otype              161280 non-null object\n",
      "panel              161280 non-null int64\n",
      "paths              161280 non-null int64\n",
      "rel_error          161280 non-null float64\n",
      "runs               161280 non-null int64\n",
      "steps              161280 non-null int64\n",
      "strike             161280 non-null int64\n",
      "timestamp          161280 non-null datetime64[ns]\n",
      "value              161280 non-null float64\n",
      "var_disc           161280 non-null object\n",
      "PY1                161280 non-null float64\n",
      "PY2                161280 non-null float64\n",
      "dtypes: bool(5), datetime64[ns](1), float64(8), int64(5), object(3)\n",
      "memory usage: 22.9+ MB\n"
     ]
    }
   ],
   "source": [
    "results.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "cols = ['otype', 'runs', 'paths', 'index_disc', 'var_disc', \n",
    "        'moment_matching', 'anti_paths']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "var_disc_select = ['F', 'P', 'T', 'A']\n",
    "grouped = results[(results.steps == 50)\n",
    "                & (results.paths == 100000)\n",
    "                & (results.index_disc == 'L')\n",
    "                & (results.var_disc.isin(var_disc_select))].groupby(cols)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "mse = lambda x: np.sum(x ** 2) / len(x)\n",
    "err = lambda x: sum(-x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "tab = grouped.agg({'value': len, 'PY_acc': err, 'error': (np.mean, mse)})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "tmpl = r'%4s & %3d & %6d &  %s  &  %s  & %5s & %5s & %3d & %3d & %7.5f & %7.5f \\tn' "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "table = ''\n",
    "f = open('10_mcs/table_10_1.tex', 'w')\n",
    "for i in range(len(tab)):\n",
    "    dats = list(tab.iloc[i].name)\n",
    "    dats.extend(tab[['PY_acc', 'value', 'error']].iloc[i].values)\n",
    "    row = tmpl % tuple(dats) + '\\n'\n",
    "    table += row\n",
    "    f.write(row)\n",
    "f.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CALL &   5 & 100000 &  L  &  A  & False & False & 146 & 180 & 0.07670 & 3.74152 \\tn\n",
      "CALL &   5 & 100000 &  L  &  A  & False &  True & 146 & 180 & 0.07288 & 3.75574 \\tn\n",
      "CALL &   5 & 100000 &  L  &  A  &  True & False &   3 & 180 & 0.00633 & 0.00136 \\tn\n",
      "CALL &   5 & 100000 &  L  &  A  &  True &  True &   3 & 180 & 0.00468 & 0.00149 \\tn\n",
      "CALL &   5 & 100000 &  L  &  F  & False & False & 146 & 180 & 0.03556 & 3.63164 \\tn\n",
      "CALL &   5 & 100000 &  L  &  F  & False &  True & 148 & 180 & 0.03462 & 3.62426 \\tn\n",
      "CALL &   5 & 100000 &  L  &  F  &  True & False &   1 & 180 & -0.01659 & 0.00113 \\tn\n",
      "CALL &   5 & 100000 &  L  &  F  &  True &  True &   1 & 180 & -0.01299 & 0.00090 \\tn\n",
      "CALL &   5 & 100000 &  L  &  P  & False & False & 144 & 180 & 0.03942 & 3.68678 \\tn\n",
      "CALL &   5 & 100000 &  L  &  P  & False &  True & 145 & 180 & 0.04079 & 3.64441 \\tn\n",
      "CALL &   5 & 100000 &  L  &  P  &  True & False &   1 & 180 & -0.01474 & 0.00108 \\tn\n",
      "CALL &   5 & 100000 &  L  &  P  &  True &  True &   1 & 180 & -0.01128 & 0.00111 \\tn\n",
      "CALL &   5 & 100000 &  L  &  T  & False & False & 147 & 180 & 0.07196 & 3.72847 \\tn\n",
      "CALL &   5 & 100000 &  L  &  T  & False &  True & 145 & 180 & 0.07256 & 3.74803 \\tn\n",
      "CALL &   5 & 100000 &  L  &  T  &  True & False &   3 & 180 & 0.00340 & 0.00155 \\tn\n",
      "CALL &   5 & 100000 &  L  &  T  &  True &  True &   3 & 180 & 0.01147 & 0.00162 \\tn\n",
      " PUT &   5 & 100000 &  L  &  A  & False & False & 143 & 180 & 0.04343 & 0.93155 \\tn\n",
      " PUT &   5 & 100000 &  L  &  A  & False &  True & 141 & 180 & 0.04284 & 0.93065 \\tn\n",
      " PUT &   5 & 100000 &  L  &  A  &  True & False &  14 & 180 & 0.00445 & 0.00110 \\tn\n",
      " PUT &   5 & 100000 &  L  &  A  &  True &  True &  20 & 180 & 0.00657 & 0.00149 \\tn\n",
      " PUT &   5 & 100000 &  L  &  F  & False & False & 141 & 180 & 0.03198 & 0.94487 \\tn\n",
      " PUT &   5 & 100000 &  L  &  F  & False &  True & 142 & 180 & 0.03797 & 0.94874 \\tn\n",
      " PUT &   5 & 100000 &  L  &  F  &  True & False &   9 & 180 & -0.01349 & 0.00068 \\tn\n",
      " PUT &   5 & 100000 &  L  &  F  &  True &  True &  10 & 180 & -0.01379 & 0.00083 \\tn\n",
      " PUT &   5 & 100000 &  L  &  P  & False & False & 143 & 180 & 0.03593 & 0.96873 \\tn\n",
      " PUT &   5 & 100000 &  L  &  P  & False &  True & 141 & 180 & 0.03330 & 0.94941 \\tn\n",
      " PUT &   5 & 100000 &  L  &  P  &  True & False &   3 & 180 & -0.00881 & 0.00041 \\tn\n",
      " PUT &   5 & 100000 &  L  &  P  &  True &  True &   5 & 180 & -0.00987 & 0.00056 \\tn\n",
      " PUT &   5 & 100000 &  L  &  T  & False & False & 143 & 180 & 0.04830 & 0.92206 \\tn\n",
      " PUT &   5 & 100000 &  L  &  T  & False &  True & 142 & 180 & 0.04231 & 0.92051 \\tn\n",
      " PUT &   5 & 100000 &  L  &  T  &  True & False &  10 & 180 & 0.00687 & 0.00111 \\tn\n",
      " PUT &   5 & 100000 &  L  &  T  &  True &  True &  10 & 180 & 0.00445 & 0.00117 \\tn\n",
      "\n"
     ]
    }
   ],
   "source": [
    "print table # table 10.1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "grouped = results[(results.steps == 50)\n",
    "                & (results.paths == 100000)\n",
    "                & (results.moment_matching == True)\n",
    "                & (results.anti_paths == True)].groupby(cols)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "tab = grouped.agg({'value': len, 'PY_acc': err, 'error': (np.mean, mse)})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "table = ''\n",
    "f = open('10_mcs/table_10_2.tex', 'w')\n",
    "for i in range(len(tab)):\n",
    "    dats = list(tab.iloc[i].name)\n",
    "    dats.extend(tab[['PY_acc', 'value', 'error']].iloc[i].values)\n",
    "    row = tmpl % tuple(dats) + '\\n'\n",
    "    table += row\n",
    "    f.write(row)\n",
    "f.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CALL &   5 & 100000 &  L  &  A  &  True &  True &   3 & 180 & 0.00468 & 0.00149 \\tn\n",
      "CALL &   5 & 100000 &  L  &  F  &  True &  True &   1 & 180 & -0.01299 & 0.00090 \\tn\n",
      "CALL &   5 & 100000 &  L  &  H  &  True &  True &   4 & 180 & 0.01169 & 0.00175 \\tn\n",
      "CALL &   5 & 100000 &  L  &  P  &  True &  True &   1 & 180 & -0.01128 & 0.00111 \\tn\n",
      "CALL &   5 & 100000 &  L  &  R  &  True &  True &   5 & 180 & 0.01208 & 0.00253 \\tn\n",
      "CALL &   5 & 100000 &  L  &  S  &  True &  True &  13 & 180 & 0.02979 & 0.00659 \\tn\n",
      "CALL &   5 & 100000 &  L  &  T  &  True &  True &   3 & 180 & 0.01147 & 0.00162 \\tn\n",
      "CALL &   5 & 100000 &  N  &  A  &  True &  True &   1 & 180 & 0.00805 & 0.00101 \\tn\n",
      "CALL &   5 & 100000 &  N  &  F  &  True &  True &   2 & 180 & -0.01566 & 0.00104 \\tn\n",
      "CALL &   5 & 100000 &  N  &  H  &  True &  True &   4 & 180 & 0.00545 & 0.00226 \\tn\n",
      "CALL &   5 & 100000 &  N  &  P  &  True &  True &   4 & 180 & -0.01526 & 0.00120 \\tn\n",
      "CALL &   5 & 100000 &  N  &  R  &  True &  True &   6 & 180 & 0.01221 & 0.00279 \\tn\n",
      "CALL &   5 & 100000 &  N  &  S  &  True &  True &  11 & 180 & 0.03020 & 0.00549 \\tn\n",
      "CALL &   5 & 100000 &  N  &  T  &  True &  True &   3 & 180 & 0.00692 & 0.00174 \\tn\n",
      " PUT &   5 & 100000 &  L  &  A  &  True &  True &  20 & 180 & 0.00657 & 0.00149 \\tn\n",
      " PUT &   5 & 100000 &  L  &  F  &  True &  True &  10 & 180 & -0.01379 & 0.00083 \\tn\n",
      " PUT &   5 & 100000 &  L  &  H  &  True &  True &  14 & 180 & 0.00808 & 0.00157 \\tn\n",
      " PUT &   5 & 100000 &  L  &  P  &  True &  True &   5 & 180 & -0.00987 & 0.00056 \\tn\n",
      " PUT &   5 & 100000 &  L  &  R  &  True &  True &  18 & 180 & 0.01005 & 0.00207 \\tn\n",
      " PUT &   5 & 100000 &  L  &  S  &  True &  True &  29 & 180 & 0.02747 & 0.00592 \\tn\n",
      " PUT &   5 & 100000 &  L  &  T  &  True &  True &  10 & 180 & 0.00445 & 0.00117 \\tn\n",
      " PUT &   5 & 100000 &  N  &  A  &  True &  True &  16 & 180 & 0.00084 & 0.00123 \\tn\n",
      " PUT &   5 & 100000 &  N  &  F  &  True &  True &   9 & 180 & -0.01466 & 0.00075 \\tn\n",
      " PUT &   5 & 100000 &  N  &  H  &  True &  True &  13 & 180 & 0.00402 & 0.00176 \\tn\n",
      " PUT &   5 & 100000 &  N  &  P  &  True &  True &   7 & 180 & -0.01529 & 0.00070 \\tn\n",
      " PUT &   5 & 100000 &  N  &  R  &  True &  True &  17 & 180 & 0.00987 & 0.00217 \\tn\n",
      " PUT &   5 & 100000 &  N  &  S  &  True &  True &  30 & 180 & 0.02535 & 0.00556 \\tn\n",
      " PUT &   5 & 100000 &  N  &  T  &  True &  True &  11 & 180 & 0.00622 & 0.00106 \\tn\n",
      "\n"
     ]
    }
   ],
   "source": [
    "print table  # table 10.2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nbWZmVgH/H0ORP/FMG0czAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fed056fa7d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "results[results.paths == 100000].boxplot('error',\n",
    "            by=['otype', 'moment_matching'], figsize=(8, 5))\n",
    "plt.title('valuation error')\n",
    "plt.savefig('../images/10_mcs/box_mm.pdf')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x7fed0406b910>"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nLiIikoj/C4E5EmLt02PxAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fed0567a110>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "results[results.moment_matching == True].boxplot(\n",
    "            'error', by=['paths'], figsize=(8, 5))\n",
    "plt.title('valuation error')\n",
    "# plt.savefig('../images/10_mcs/box_paths.pdf')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x7fed056fa590>"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fed0567a650>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "results[results.moment_matching == True].boxplot(\n",
    "        'error', by=['steps'], figsize=(8, 5))\n",
    "plt.title('valuation error')\n",
    "# plt.savefig('../images/10_mcs/box_steps.pdf')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### American Options"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# %run 10_mcs/SVSI_american_speed.py\n",
    "# just to measure the valuation time per single valuation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# sum(results['PY_acc'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# np.mean(results['error'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# np.mean(results['rel_error'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# %run 10_mcs/SVSI_american_mcs_10_3.py\n",
    "# takes about 15 mins"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "h5 = pd.HDFStore('10_mcs/mcs_american_10_3_lam_1.h5', 'r')\n",
    "results = h5['results']\n",
    "h5.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 5040 entries, 0 to 5039\n",
      "Data columns (total 24 columns):\n",
      "LSM_convar         5040 non-null float64\n",
      "LSM_pure           5040 non-null float64\n",
      "MCS_euro           5040 non-null float64\n",
      "PY1                5040 non-null float64\n",
      "PY1_acc            5040 non-null bool\n",
      "PY2                5040 non-null float64\n",
      "PY2_acc            5040 non-null bool\n",
      "PY_acc             5040 non-null bool\n",
      "SE                 5040 non-null float64\n",
      "V0_euro            5040 non-null float64\n",
      "anti_paths         5040 non-null bool\n",
      "benchmark          5040 non-null float64\n",
      "control_variate    5040 non-null bool\n",
      "error              5040 non-null float64\n",
      "maturity           5040 non-null float64\n",
      "moment_matching    5040 non-null bool\n",
      "panel              5040 non-null int64\n",
      "paths              5040 non-null int64\n",
      "rel_error          5040 non-null float64\n",
      "runs               5040 non-null int64\n",
      "steps              5040 non-null int64\n",
      "strike             5040 non-null float64\n",
      "timestamp          5040 non-null datetime64[ns]\n",
      "var_disc           5040 non-null object\n",
      "dtypes: bool(6), datetime64[ns](1), float64(12), int64(4), object(1)\n",
      "memory usage: 777.7+ KB\n"
     ]
    }
   ],
   "source": [
    "results.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LSM_convar                        0.000219883\n",
       "LSM_pure                         0.0003067786\n",
       "MCS_euro                         0.0002357609\n",
       "PY1                                     0.025\n",
       "PY1_acc                                  True\n",
       "PY2                                     0.015\n",
       "PY2_acc                                 False\n",
       "PY_acc                                   True\n",
       "SE                               4.216288e-05\n",
       "V0_euro                          0.0001488653\n",
       "anti_paths                               True\n",
       "benchmark                              0.0001\n",
       "control_variate                          True\n",
       "error                             0.000119883\n",
       "maturity                           0.08333333\n",
       "moment_matching                          True\n",
       "panel                                       0\n",
       "paths                                   25000\n",
       "rel_error                             1.19883\n",
       "runs                                        5\n",
       "steps                                      20\n",
       "strike                                     90\n",
       "timestamp          2014-12-14 10:10:58.903142\n",
       "var_disc                      Full Truncation\n",
       "Name: 0, dtype: object"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results.iloc[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "results['var_disc'] = results['var_disc'].apply(lambda x: x[0]) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "cols = ['steps', 'paths', 'var_disc', 'control_variate', \n",
    "        'moment_matching', 'anti_paths']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "grouped = results[(results.control_variate == True)\n",
    "                  & (results.moment_matching == True)\n",
    "                  & (results.anti_paths == True)].groupby(cols)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "tab = grouped.agg({'benchmark': len, 'PY_acc': err, 'error': (np.mean, mse)})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "tmpl = r'%d & %3d & %6d &  %s  & %5s & %5s & %5s & %3d & %3d & %7.5f & %7.5f \\tn' "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "table = ''\n",
    "f = open('10_mcs/table_10_3.tex', 'w')\n",
    "for i in range(len(tab)):\n",
    "    dats = list(tab.iloc[i].name)\n",
    "    dats.extend(tab[['PY_acc', 'benchmark', 'error']].iloc[i].values)\n",
    "    dats.insert(0, 5)\n",
    "    row = tmpl % tuple(dats) + '\\n'\n",
    "    table += row\n",
    "    f.write(row)\n",
    "f.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5 &  20 &  25000 &  A  &  True &  True &  True &   1 & 180 & -0.00117 & 0.00064 \\tn\n",
      "5 &  20 &  25000 &  F  &  True &  True &  True &   1 & 180 & -0.00105 & 0.00042 \\tn\n",
      "5 &  20 &  25000 &  H  &  True &  True &  True &   5 & 180 & 0.00043 & 0.00046 \\tn\n",
      "5 &  20 &  25000 &  P  &  True &  True &  True &   4 & 180 & -0.00379 & 0.00047 \\tn\n",
      "5 &  20 &  25000 &  R  &  True &  True &  True &   5 & 180 & -0.00187 & 0.00058 \\tn\n",
      "5 &  20 &  25000 &  S  &  True &  True &  True &   3 & 180 & -0.00290 & 0.00044 \\tn\n",
      "5 &  20 &  25000 &  T  &  True &  True &  True &   2 & 180 & 0.00072 & 0.00062 \\tn\n",
      "5 &  20 &  35000 &  A  &  True &  True &  True &   1 & 180 & -0.00836 & 0.00050 \\tn\n",
      "5 &  20 &  35000 &  F  &  True &  True &  True &   1 & 180 & -0.00289 & 0.00043 \\tn\n",
      "5 &  20 &  35000 &  H  &  True &  True &  True &   5 & 180 & -0.00205 & 0.00057 \\tn\n",
      "5 &  20 &  35000 &  P  &  True &  True &  True &   4 & 180 & -0.00328 & 0.00039 \\tn\n",
      "5 &  20 &  35000 &  R  &  True &  True &  True &   4 & 180 & -0.00543 & 0.00051 \\tn\n",
      "5 &  20 &  35000 &  S  &  True &  True &  True &   2 & 180 & -0.00408 & 0.00044 \\tn\n",
      "5 &  20 &  35000 &  T  &  True &  True &  True &   2 & 180 & -0.00283 & 0.00035 \\tn\n",
      "5 &  25 &  25000 &  A  &  True &  True &  True &   2 & 180 & -0.00171 & 0.00045 \\tn\n",
      "5 &  25 &  25000 &  F  &  True &  True &  True &   1 & 180 & 0.00126 & 0.00039 \\tn\n",
      "5 &  25 &  25000 &  H  &  True &  True &  True &   2 & 180 & -0.00177 & 0.00043 \\tn\n",
      "5 &  25 &  25000 &  P  &  True &  True &  True &   1 & 180 & -0.00083 & 0.00037 \\tn\n",
      "5 &  25 &  25000 &  R  &  True &  True &  True &   2 & 180 & -0.00016 & 0.00059 \\tn\n",
      "5 &  25 &  25000 &  S  &  True &  True &  True &   4 & 180 & 0.00044 & 0.00050 \\tn\n",
      "5 &  25 &  25000 &  T  &  True &  True &  True &   3 & 180 & -0.00173 & 0.00054 \\tn\n",
      "5 &  25 &  35000 &  A  &  True &  True &  True &   2 & 180 & -0.00162 & 0.00043 \\tn\n",
      "5 &  25 &  35000 &  F  &  True &  True &  True &   1 & 180 & -0.00135 & 0.00045 \\tn\n",
      "5 &  25 &  35000 &  H  &  True &  True &  True &   2 & 180 & -0.00166 & 0.00041 \\tn\n",
      "5 &  25 &  35000 &  P  &  True &  True &  True &   1 & 180 & -0.00199 & 0.00036 \\tn\n",
      "5 &  25 &  35000 &  R  &  True &  True &  True &   0 & 180 & -0.00436 & 0.00028 \\tn\n",
      "5 &  25 &  35000 &  S  &  True &  True &  True &   5 & 180 & -0.00429 & 0.00048 \\tn\n",
      "5 &  25 &  35000 &  T  &  True &  True &  True &   1 & 180 & -0.00144 & 0.00045 \\tn\n",
      "\n"
     ]
    }
   ],
   "source": [
    "print table  # table 10.3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# %run 10_mcs/SVSI_american_mcs_10_4.py\n",
    "# takes about 20 mins"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "h5 = pd.HDFStore('10_mcs/mcs_american_10_4_lam_1.h5', 'r')\n",
    "results = h5['results']\n",
    "h5.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "results['var_disc'] = results['var_disc'].apply(lambda x: x[0]) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LSM_convar                       0.0003562546\n",
       "LSM_pure                         0.0003562546\n",
       "MCS_euro                         0.0002829729\n",
       "PY1                                     0.025\n",
       "PY1_acc                                  True\n",
       "PY2                                     0.015\n",
       "PY2_acc                                 False\n",
       "PY_acc                                   True\n",
       "SE                               0.0001604737\n",
       "V0_euro                          0.0001488653\n",
       "anti_paths                              False\n",
       "benchmark                              0.0001\n",
       "control_variate                         False\n",
       "error                            0.0002562546\n",
       "maturity                           0.08333333\n",
       "moment_matching                         False\n",
       "panel                                       0\n",
       "paths                                   35000\n",
       "rel_error                            2.562546\n",
       "runs                                        5\n",
       "steps                                      20\n",
       "strike                                     90\n",
       "timestamp          2014-12-14 10:37:10.517517\n",
       "var_disc                                    F\n",
       "Name: 0, dtype: object"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results.iloc[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "var_disc_select = ['F', 'P', 'T', 'A']\n",
    "grouped = results[(results.paths == 35000)\n",
    "                  & (results.var_disc.isin(var_disc_select))].groupby(cols)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "tab = grouped.agg({'benchmark': len, 'PY_acc': err, 'error': (np.mean, mse)})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "table = ''\n",
    "f = open('10_mcs/table_10_4.tex', 'w')\n",
    "for i in range(len(tab)):\n",
    "    dats = list(tab.iloc[i].name)\n",
    "    dats.extend(tab[['PY_acc', 'benchmark', 'error']].iloc[i].values)\n",
    "    dats.insert(0, 5)\n",
    "    row = tmpl % tuple(dats) + '\\n'\n",
    "    table += row\n",
    "    f.write(row)\n",
    "f.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5 &  20 &  35000 &  A  & False & False & False &  54 & 180 & -0.01504 & 0.00412 \\tn\n",
      "5 &  20 &  35000 &  A  & False & False &  True &  42 & 180 & -0.01279 & 0.00365 \\tn\n",
      "5 &  20 &  35000 &  A  & False &  True & False &  43 & 180 & -0.01126 & 0.00368 \\tn\n",
      "5 &  20 &  35000 &  A  & False &  True &  True &  42 & 180 & -0.01366 & 0.00351 \\tn\n",
      "5 &  20 &  35000 &  A  &  True & False & False &   0 & 180 & -0.00319 & 0.00041 \\tn\n",
      "5 &  20 &  35000 &  A  &  True & False &  True &   2 & 180 & -0.00594 & 0.00046 \\tn\n",
      "5 &  20 &  35000 &  A  &  True &  True & False &   1 & 180 & -0.00364 & 0.00037 \\tn\n",
      "5 &  20 &  35000 &  A  &  True &  True &  True &   0 & 180 & -0.00499 & 0.00045 \\tn\n",
      "5 &  20 &  35000 &  F  & False & False & False &  44 & 180 & -0.00894 & 0.00394 \\tn\n",
      "5 &  20 &  35000 &  F  & False & False &  True &  43 & 180 & -0.01226 & 0.00379 \\tn\n",
      "5 &  20 &  35000 &  F  & False &  True & False &  42 & 180 & -0.01283 & 0.00374 \\tn\n",
      "5 &  20 &  35000 &  F  & False &  True &  True &  46 & 180 & -0.01179 & 0.00422 \\tn\n",
      "5 &  20 &  35000 &  F  &  True & False & False &   4 & 180 & -0.00525 & 0.00059 \\tn\n",
      "5 &  20 &  35000 &  F  &  True & False &  True &   3 & 180 & -0.00366 & 0.00038 \\tn\n",
      "5 &  20 &  35000 &  F  &  True &  True & False &   2 & 180 & -0.00416 & 0.00046 \\tn\n",
      "5 &  20 &  35000 &  F  &  True &  True &  True &   2 & 180 & -0.00618 & 0.00042 \\tn\n",
      "5 &  20 &  35000 &  P  & False & False & False &  45 & 180 & -0.01272 & 0.00432 \\tn\n",
      "5 &  20 &  35000 &  P  & False & False &  True &  44 & 180 & -0.01313 & 0.00407 \\tn\n",
      "5 &  20 &  35000 &  P  & False &  True & False &  42 & 180 & -0.01241 & 0.00371 \\tn\n",
      "5 &  20 &  35000 &  P  & False &  True &  True &  41 & 180 & -0.01339 & 0.00385 \\tn\n",
      "5 &  20 &  35000 &  P  &  True & False & False &   3 & 180 & -0.00337 & 0.00046 \\tn\n",
      "5 &  20 &  35000 &  P  &  True & False &  True &   4 & 180 & -0.00540 & 0.00047 \\tn\n",
      "5 &  20 &  35000 &  P  &  True &  True & False &   1 & 180 & -0.00322 & 0.00036 \\tn\n",
      "5 &  20 &  35000 &  P  &  True &  True &  True &   3 & 180 & -0.00154 & 0.00045 \\tn\n",
      "5 &  20 &  35000 &  T  & False & False & False &  53 & 180 & -0.01329 & 0.00431 \\tn\n",
      "5 &  20 &  35000 &  T  & False & False &  True &  40 & 180 & -0.01140 & 0.00374 \\tn\n",
      "5 &  20 &  35000 &  T  & False &  True & False &  42 & 180 & -0.01210 & 0.00400 \\tn\n",
      "5 &  20 &  35000 &  T  & False &  True &  True &  42 & 180 & -0.01345 & 0.00367 \\tn\n",
      "5 &  20 &  35000 &  T  &  True & False & False &   1 & 180 & -0.00513 & 0.00050 \\tn\n",
      "5 &  20 &  35000 &  T  &  True & False &  True &   1 & 180 & -0.00530 & 0.00042 \\tn\n",
      "5 &  20 &  35000 &  T  &  True &  True & False &   3 & 180 & -0.00479 & 0.00042 \\tn\n",
      "5 &  20 &  35000 &  T  &  True &  True &  True &   2 & 180 & -0.00446 & 0.00039 \\tn\n",
      "\n"
     ]
    }
   ],
   "source": [
    "print table # table 10.4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# %run 10_mcs/SVSI_american_mcs_10_5.py\n",
    "# takes about 60 mins"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "h5 = pd.HDFStore('10_mcs/mcs_american_10_5_lam_1.h5', 'r')\n",
    "results = h5['results']\n",
    "h5.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "results['var_disc'] = results['var_disc'].apply(lambda x: x[0]) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LSM_convar                        0.000245117\n",
       "LSM_pure                         0.0002191798\n",
       "MCS_euro                         0.0001229281\n",
       "PY1                                      0.01\n",
       "PY1_acc                                  True\n",
       "PY2                                      0.01\n",
       "PY2_acc                                 False\n",
       "PY_acc                                   True\n",
       "SE                               3.942838e-05\n",
       "V0_euro                          0.0001488653\n",
       "anti_paths                               True\n",
       "benchmark                              0.0001\n",
       "control_variate                          True\n",
       "error                             0.000145117\n",
       "maturity                           0.08333333\n",
       "moment_matching                          True\n",
       "panel                                       0\n",
       "paths                                   35000\n",
       "rel_error                             1.45117\n",
       "runs                                        5\n",
       "steps                                      20\n",
       "strike                                     90\n",
       "timestamp          2014-12-14 11:15:06.404688\n",
       "var_disc                                    F\n",
       "Name: 0, dtype: object"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results.iloc[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "var_disc_select = ['F', 'P', 'T', 'A']\n",
    "grouped = results[(results.var_disc.isin(var_disc_select))].groupby(cols)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "tab = grouped.agg({'benchmark': len, 'PY_acc': err, 'error': (np.mean, mse)})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "table = ''\n",
    "f = open('10_mcs/table_10_5.tex', 'w')\n",
    "for i in range(len(tab)):\n",
    "    dats = list(tab.iloc[i].name)\n",
    "    dats.extend(tab[['PY_acc', 'benchmark', 'error']].iloc[i].values)\n",
    "    dats.insert(0, 5)\n",
    "    row = tmpl % tuple(dats) + '\\n'\n",
    "    table += row\n",
    "    f.write(row)\n",
    "f.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5 &  20 &  35000 &  A  &  True &  True &  True &  10 & 180 & -0.00417 & 0.00038 \\tn\n",
      "5 &  20 &  35000 &  F  &  True &  True &  True &  11 & 180 & -0.00241 & 0.00043 \\tn\n",
      "5 &  20 &  35000 &  P  &  True &  True &  True &  10 & 180 & -0.00323 & 0.00051 \\tn\n",
      "5 &  20 &  35000 &  T  &  True &  True &  True &  15 & 180 & -0.00318 & 0.00051 \\tn\n",
      "5 &  20 & 100000 &  A  &  True &  True &  True &  14 & 180 & -0.00928 & 0.00048 \\tn\n",
      "5 &  20 & 100000 &  F  &  True &  True &  True &  15 & 180 & -0.00857 & 0.00033 \\tn\n",
      "5 &  20 & 100000 &  P  &  True &  True &  True &  20 & 180 & -0.00855 & 0.00047 \\tn\n",
      "5 &  20 & 100000 &  T  &  True &  True &  True &  15 & 180 & -0.00981 & 0.00047 \\tn\n",
      "5 &  20 & 200000 &  A  &  True &  True &  True &  17 & 180 & -0.00966 & 0.00040 \\tn\n",
      "5 &  20 & 200000 &  F  &  True &  True &  True &  19 & 180 & -0.01116 & 0.00044 \\tn\n",
      "5 &  20 & 200000 &  P  &  True &  True &  True &  15 & 180 & -0.01055 & 0.00043 \\tn\n",
      "5 &  20 & 200000 &  T  &  True &  True &  True &  16 & 180 & -0.01032 & 0.00041 \\tn\n",
      "5 &  50 &  35000 &  A  &  True &  True &  True &  12 & 180 & -0.00211 & 0.00040 \\tn\n",
      "5 &  50 &  35000 &  F  &  True &  True &  True &  16 & 180 & -0.00004 & 0.00048 \\tn\n",
      "5 &  50 &  35000 &  P  &  True &  True &  True &  14 & 180 & 0.00020 & 0.00043 \\tn\n",
      "5 &  50 &  35000 &  T  &  True &  True &  True &  15 & 180 & -0.00258 & 0.00047 \\tn\n",
      "5 &  50 & 100000 &  A  &  True &  True &  True &   7 & 180 & -0.00478 & 0.00031 \\tn\n",
      "5 &  50 & 100000 &  F  &  True &  True &  True &   6 & 180 & -0.00536 & 0.00028 \\tn\n",
      "5 &  50 & 100000 &  P  &  True &  True &  True &   7 & 180 & -0.00657 & 0.00032 \\tn\n",
      "5 &  50 & 100000 &  T  &  True &  True &  True &   9 & 180 & -0.00591 & 0.00034 \\tn\n",
      "5 &  50 & 200000 &  A  &  True &  True &  True &   7 & 180 & -0.00783 & 0.00034 \\tn\n",
      "5 &  50 & 200000 &  F  &  True &  True &  True &   7 & 180 & -0.00720 & 0.00038 \\tn\n",
      "5 &  50 & 200000 &  P  &  True &  True &  True &   3 & 180 & -0.00709 & 0.00029 \\tn\n",
      "5 &  50 & 200000 &  T  &  True &  True &  True &   9 & 180 & -0.00743 & 0.00032 \\tn\n",
      "\n"
     ]
    }
   ],
   "source": [
    "print table # table 10.5"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img src=\"http://hilpisch.com/tpq_logo.png\" alt=\"The Python Quants\" width=\"35%\" align=\"right\" border=\"0\"><br>\n",
    "\n",
    "<a href=\"http://www.pythonquants.com\" target=\"_blank\">www.pythonquants.com</a> | <a href=\"http://twitter.com/dyjh\" target=\"_blank\">@dyjh</a>\n",
    "\n",
    "<a href=\"mailto:analytics@pythonquants.com\">analytics@pythonquants.com</a>\n",
    "\n",
    "**Python Quant Platform** |\n",
    "<a href=\"http://quant-platform.com\">http://quant-platform.com</a>\n",
    "\n",
    "**Derivatives Analytics with Python** |\n",
    "<a href=\"http://www.derivatives-analytics-with-python.com\" target=\"_blank\">Derivatives Analytics @ Wiley Finance</a>\n",
    "\n",
    "**Python for Finance** |\n",
    "<a href=\"http://python-for-finance.com\" target=\"_blank\">Python for Finance @ O'Reilly</a>"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python2",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
